perm filename M11IO.FAI[M11,LCS]1 blob sn#400661 filedate 1978-11-30 generic text, type T, neo UTF8
00100		TITLE MSSIO
00200		INTERNAL PUTEXT,EXTOUT,FINEXT,OSC,OUTP
00300		EXTERNAL LM,NT,GENS,ROUT
00900	
01000	
01100		CH3←13
01200		CH←12
01300		CH2←11
01400		BLKS←←=1
02200	
02300	REGS:	BLOCK 20
02400	DIR:	BLOCK 4
02500	
02600	;CALL PUTEXT(<FILE>,<EXT>)
02700	PUTEXT:	0	;USES EXTOUT,FINEXT, CH2
02800		MOVE 0,@0(16)
02900		MOVEM 0,FILNAM
03000		MOVE 0,@1(16)
03100		MOVEM 0,EXTNAM
03200		JSA 16,INTFIL
03300		SETZM DIR+2
03400		SETZM DIR+3
03500		ENTER CH2,DIR
03600		0
03700		JRA 16,2(16)
03800	
03900	;CALL EXTOUT(<ARRAY>,<NO. OF WORDS>)
04000	
04100	EXTOUT:	0
04200		HRRZ 0,0(16)
04300		SUBI 0,1
04400		MOVEM 0,COM
04500		MOVN 0,@1(16)
04600		HRLM 0,COM
04700		OUTPUT CH2,COM
04800		STATZ CH2,740000
04900		0
05000		JRA 16,2(16)
05100	
05200	
05300	INTFIL:	0	;INITS DSK 
05400		MOVEI REGS
05500		BLT REGS+3
05600		INIT CH2,17
05700		SIXBIT/DSK/
05800		0
05900		0
06000	INTF4:	MOVE 0,FILNAM#
06100		MOVEM 0,FN#
06200		MOVE 1,[POINT 7,FN]
06300	INTF3:	MOVE 2,[POINT 6,DIR]
06400		SETZM DIR
06500		MOVEI 3,5
06600	INTF1:	ILDB 0,1
06700		CAIN 0," "
06800		JRST INTF2
06900		SUBI 0,40
07000		IDPB 0,2
07100		SOJG 3,INTF1
07200	INTF2:	HRLZI REGS
07300		BLT 3
07400		MOVE 0,EXTNAM#
07500		MOVEM 0,EX#
07600		MOVE 1,[POINT 7,EX]
07700	EXTF3:	MOVE 2,[POINT 6,DIR+1]
07800		SETZM DIR+1
07900		MOVEI 3,5
08000	EXTF1:	ILDB 0,1
08100		CAIN 0," "
08200		JRST EXTF2
08300		SUBI 0,40
08400		IDPB 0,2
08500		SOJG 3,EXTF1
08600	EXTF2:	HRLZI REGS
08700		BLT 3
08800		JRA 16,0(16)
08900	
09000	
09100	COM:	OCT 0,0
09200	BLKNUM:	0
09300	
09400	;CALL FINEXT
09500	FINEXT:	0
09600		CLOSE CH2,0
09700		STATZ CH2,740000
09800		0
09900		RELEASE CH2,0
10000		JRA 16,0(16)
10100	OSC:	0   ;OSC UNIT GENERATOR
10200		MOVE 1,LM+4  ;L5
10300		MOVE 15,NT-1(1)  ;SUM
10400		SKIPLE 12,LM+=10	;M1
10500		JRST OSC1
10600		MOVE 2,LM	;L1
10700		MOVE 14,NT-1(2)		;AMP
10800	OSC1:	SKIPLE 11,LM+=11	;M2
10900		JRST OSC2
11000		MOVE 3,LM+1	;L2
11100		MOVE 10,NT-1(3)	 	;FREQ
11200	OSC2:	SETZ 4,		;J3
11300	OSC3:	KIFIX 5,15
11400		ADD 5,LM+3	;L4
11500		MOVE 13,GENS-1(5)	;F
11600		JUMPG 11,O286
11700		FADR 15,10		;SUM
11800		JRST O290
11900	O286:	MOVE 6,4
12000		ADD 6,LM+1	;J4
12100		FADR 15,ROUT-1(6)	;SUM
12200	O290:	CAML 15,LM+=21		;XNFUN
12300		JRST O287
12400		JUMPL 15,O289
12500	O288:	MOVE 6,4
12600		ADD 6,LM+2	;J5
12700		JUMPG 12,O292
12800		MOVE 14
12900		JRST O293
13000	O287:	FSBR 15,LM+=21
13100		JRST O288
13200	O289:	FADR 15,LM+=21
13300		JRST O288
13400	O292:	MOVE 7,4
13500		ADD 7,LM
13600		MOVE ROUT-1(7)
13700	O293:	FMPR 13
13800		MOVEM ROUT-1(6)
13900		AOJ 4,
14000		CAMG 4,LM+=20	;NSAMX
14100		JRST OSC3
14200		MOVEM 15,NT-1(1)
14300		JRA 16,(16)
14400	
14500	OUTP:	0
14600		MOVE 2,LM+1
14700		MOVE 4,LM
14800		MOVE 1,2
14900		ADD 1,LM+=20
15000	OU1:	MOVE 3,ROUT-1(4)
15100		FADRM 3,ROUT-1(2)
15200		AOJ 2,
15300		AOJ 4,
15400		CAMG 2,1
15500		JRST OU1
15600		JRA 16,(16)
15700		END